import { createApp } from 'vue'
import App from './App.vue'

// 导入路由
import router from './router'

// 导入 iconfont 样式
import '@/assets/iconfont/iconfont.css'

// 如果需要使用 JSON 数据
import iconfontJson from '@/assets/iconfont/iconfont.json'


// 导入 Element Plus
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

// 导入封装的 axios
import $axios from './utils/request'

const app = createApp(App)

// 全局提供图标数据
app.provide('iconfontJson', iconfontJson)

// 全局注册 Element Plus 图标
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component)
}

// 全局提供 axios
app.provide('$axios', $axios)

// 使用路由和 Element Plus
app.use(router).use(ElementPlus)

// 特性标志（生产环境优化）
window.__VUE_PROD_DEVTOOLS__ = false
window.__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ = false

// 挂载应用
app.mount('#app')